//package com.ruibang.glass.produce.component.consumer;
//
//import com.alibaba.fastjson.JSON;
//import com.ruibang.glass.produce.constant.Constants;
//import com.ruibang.glass.produce.domain.event.MonitorCacheEvent;
//import com.ruibang.glass.produce.domain.resp.Monitor;
//import com.ruibang.glass.produce.domain.resp.MonitorDataBase;
//import com.ruibang.glass.produce.domain.resp.MonitorInfo;
//import com.ruibang.glass.produce.entity.MonitorData;
//import com.ruibang.glass.produce.service.MonitorDataService;
//import com.ruibang.glass.produce.service.MonitorPointService;
//import com.ruibang.glass.produce.util.GzipUtil;
//import com.teaming.cloud.framework2.common.date.DateUtils;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.collections4.CollectionUtils;
//import org.apache.commons.lang3.StringUtils;
//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
//import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
//import org.apache.rocketmq.common.message.MessageExt;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.ApplicationEventPublisher;
//import org.springframework.stereotype.Component;
//
//import java.time.LocalDateTime;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//import java.util.stream.Collectors;
//
///**
// * @Author: songJinKang
// * @CreateTime: 2024-01-18  10:55
// * @Description: TODO：消费者
// * @Version: 1.0
// */
//@Slf4j
//@Component
//public class RocketMQMessageListener implements MessageListenerConcurrently {
//
//    @Autowired
//    private MonitorDataService monitorDataService;
//
//    @Autowired
//    private MonitorPointService monitorPointService;
//
//    @Autowired
//    private ApplicationEventPublisher applicationEventPublisher;
//
//    @Override
//    public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
//        for (MessageExt messageExt : msgs) {
//            String message = null;
//            try {
//                // 解析成 JSON 对象
//                switch (messageExt.getTopic()) {
//                    case Constants.DCS_CX_11_TOPIC: {
//                        cxMessageProcess(messageExt);
//                        break;
//                    }
//                    case Constants.DCS_TD_11_TOPIC: {
//                        tdMessageProcess(messageExt);
//                        break;
//                    }
//                    case Constants.DCS_XZ_11_TOPIC: {
//                        xzMessageProcess(messageExt);
//                        break;
//                    }
//                    case Constants.DCS_YL_11_TOPIC: {
//                        ylMessageProcess(messageExt);
//                        break;
//                    }
//                    case Constants.BC_COLD_BC2MES_10_TOPIC: {
//                        bcCold1Bc2MesMessageProcess(messageExt);
//                        break;
//                    }
//                    case Constants.BC_HOT2_BC2MES_TOPIC: {
//                        bcHot2Bc2MesMessageProcess(messageExt);
//                        break;
//                    }
//                    default: {
//                        log.error("未知topic数据..........");
//                    }
//
//                }
//            } catch (Exception e) {
//                log.error("处理失败:{} ex:{} topic:{} message:{}", message, e.getMessage(), messageExt.getTopic(), new String(messageExt.getBody()));
//                return ConsumeConcurrentlyStatus.RECONSUME_LATER;
//            }
//        }
//        return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
//
//    }
//
//
//    /**
//     * @Description: 成型数据处理
//     * @version v1.0
//     * @author songJinKang
//     * @date 2024-01-18 11:02
//     */
//    private void cxMessageProcess(MessageExt messageExt) {
//        String message = null;
//        try {
//            message = GzipUtil.decodeBase64ZippedString(new String(messageExt.getBody()));
//            log.error("topic---> {} 收到消息：  {}", messageExt.getTopic(), message);
//            if (StringUtils.isNotBlank(message)) {
//                //数据解析
//                List<MonitorDataBase> monitorDataBases = JSON.parseArray(message, MonitorDataBase.class);
//                Map<String, MonitorDataBase> monitorDataBaseMap = monitorDataBases.stream().collect(Collectors.toMap(MonitorDataBase::getC, e -> e, (o, n) -> n));
//
//                //过滤
//                monitorDataBases = monitorDataBases.stream().filter(e -> {
//                    if (StringUtils.isBlank(e.getV()) || e.getC().contains("time")) {
//                        return false;
//                    }
//                    try {
//                        Double.parseDouble(e.getV());
//                        return true;
//                    } catch (Exception exception) {
//                        log.error("当前数据不为监测数据：{} ------ {}", e.toString(), exception.getMessage());
//                        return false;
//                    }
//                }).collect(Collectors.toList());
//
//                //根据code获取监测点设备信息
//                List<String> codes = monitorDataBases.stream().map(MonitorDataBase::getC).collect(Collectors.toList());
//
//                List<MonitorInfo> monitorInfos = monitorPointService.getMonitorInfoByMonitorCode(codes);
//
//                if (CollectionUtils.isNotEmpty(monitorInfos)) {
//                    //设置基础属性信息
//                    List<Monitor> monitors = new ArrayList<>();
//                    Map<String, MonitorInfo> monitorInfoMap = monitorInfos.stream().collect(Collectors.toMap(MonitorInfo::getMonitorCode, e -> e, (o, n) -> {
//                        MonitorDataBase monitorDataBase = monitorDataBaseMap.get(o.getMonitorCode());
//                        LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                        setMonitor(monitors, o, monitorDataBase, collectTime);
//                        setMonitor(monitors, n, monitorDataBase, collectTime);
//                        return null;
//                    }));
//                    for (MonitorDataBase monitorDataBase : monitorDataBases) {
//                        MonitorInfo monitorInfo = monitorInfoMap.get(monitorDataBase.getC());
//                        if (monitorInfo != null) {
//                            LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                            if (collectTime == null) {
//                                continue;
//                            }
//                            setMonitor(monitors, monitorInfo, monitorDataBase, collectTime);
//                        } else {
//                            log.error("未通过 code ：{} 获取到监测点信息,请检查设备监测点配置信息!", monitorDataBase.getC());
//                        }
//                    }
//
//                    //监测数据入库
//                    saveMonitorData(monitors);
//
//                    //设置监测点缓存最新数据
//                    applicationEventPublisher.publishEvent(new MonitorCacheEvent(this, monitors));
//
//                    //规则判断
//
//
//                }
//
//            } else {
//                log.error("topic {} 数据为空：{}", Constants.BC_HOT2_BC2MES_TOPIC, message);
//            }
//        } catch (Exception e) {
//            log.error("处理失败:{} ex:{}", message, e.getMessage());
//        }
//    }
//
//
//    /**
//     * @Description: 窑炉数据处理
//     * @version v1.0
//     * @author songJinKang
//     * @date 2024-01-18 11:02
//     */
//    private void ylMessageProcess(MessageExt messageExt) {
//        String message = null;
//        try {
//            message = GzipUtil.decodeBase64ZippedString(new String(messageExt.getBody()));
//            log.error("topic---> {} 收到消息：  {}", messageExt.getTopic(), message);
//            if (StringUtils.isNotBlank(message)) {
//                //数据解析
//                List<MonitorDataBase> monitorDataBases = JSON.parseArray(message, MonitorDataBase.class);
//                Map<String, MonitorDataBase> monitorDataBaseMap = monitorDataBases.stream().collect(Collectors.toMap(MonitorDataBase::getC, e -> e, (o, n) -> n));
//
//                //过滤
//                monitorDataBases = monitorDataBases.stream().filter(e -> {
//                    if (StringUtils.isBlank(e.getV()) || e.getC().contains("time")) {
//                        return false;
//                    }
//                    try {
//                        Double.parseDouble(e.getV());
//                        return true;
//                    } catch (Exception exception) {
//                        log.error("当前数据不为监测数据：{} ------ {}", e.toString(), exception.getMessage());
//                        return false;
//                    }
//                }).collect(Collectors.toList());
//
//                //根据code获取监测点设备信息
//                List<String> codes = monitorDataBases.stream().map(MonitorDataBase::getC).collect(Collectors.toList());
//
//                List<MonitorInfo> monitorInfos = monitorPointService.getMonitorInfoByMonitorCode(codes);
//
//                if (CollectionUtils.isNotEmpty(monitorInfos)) {
//                    //设置基础属性信息
//                    List<Monitor> monitors = new ArrayList<>();
//                    Map<String, MonitorInfo> monitorInfoMap = monitorInfos.stream().collect(Collectors.toMap(MonitorInfo::getMonitorCode, e -> e, (o, n) -> {
//                        MonitorDataBase monitorDataBase = monitorDataBaseMap.get(o.getMonitorCode());
//                        LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                        setMonitor(monitors, o, monitorDataBase, collectTime);
//                        setMonitor(monitors, n, monitorDataBase, collectTime);
//                        return null;
//                    }));
//                    for (MonitorDataBase monitorDataBase : monitorDataBases) {
//                        MonitorInfo monitorInfo = monitorInfoMap.get(monitorDataBase.getC());
//                        if (monitorInfo != null) {
//                            LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                            if (collectTime == null) {
//                                continue;
//                            }
//                            setMonitor(monitors, monitorInfo, monitorDataBase, collectTime);
//                        } else {
//                            log.error("未通过 code ：{} 获取到监测点信息,请检查设备监测点配置信息!", monitorDataBase.getC());
//                        }
//                    }
//
//                    //监测数据入库
//                    saveMonitorData(monitors);
//
//                    //设置监测点缓存最新数据
//                    applicationEventPublisher.publishEvent(new MonitorCacheEvent(this, monitors));
//
//                    //规则判断
//
//
//                }
//
//            } else {
//                log.error("topic {} 数据为空：{}", Constants.BC_HOT2_BC2MES_TOPIC, message);
//            }
//        } catch (Exception e) {
//            log.error("处理失败:{} ex:{}", message, e.getMessage());
//        }
//    }
//
//    /**
//     * @Description: 通道数据处理
//     * @version v1.0
//     * @author songJinKang
//     * @date 2024-01-18 11:02
//     */
//    private void tdMessageProcess(MessageExt messageExt) {
//        String message = null;
//        try {
//            message = GzipUtil.decodeBase64ZippedString(new String(messageExt.getBody()));
//            log.error("topic---> {} 收到消息：  {}", messageExt.getTopic(), message);
//            if (StringUtils.isNotBlank(message)) {
//                //数据解析
//                List<MonitorDataBase> monitorDataBases = JSON.parseArray(message, MonitorDataBase.class);
//                Map<String, MonitorDataBase> monitorDataBaseMap = monitorDataBases.stream().collect(Collectors.toMap(MonitorDataBase::getC, e -> e, (o, n) -> n));
//
//                //过滤
//                monitorDataBases = monitorDataBases.stream().filter(e -> {
//                    if (StringUtils.isBlank(e.getV()) || e.getC().contains("time")) {
//                        return false;
//                    }
//                    try {
//                        Double.parseDouble(e.getV());
//                        return true;
//                    } catch (Exception exception) {
//                        log.error("当前数据不为监测数据：{} ------ {}", e.toString(), exception.getMessage());
//                        return false;
//                    }
//                }).collect(Collectors.toList());
//
//                //根据code获取监测点设备信息
//                List<String> codes = monitorDataBases.stream().map(MonitorDataBase::getC).collect(Collectors.toList());
//
//                List<MonitorInfo> monitorInfos = monitorPointService.getMonitorInfoByMonitorCode(codes);
//
//                if (CollectionUtils.isNotEmpty(monitorInfos)) {
//                    //设置基础属性信息
//                    List<Monitor> monitors = new ArrayList<>();
//                    Map<String, MonitorInfo> monitorInfoMap = monitorInfos.stream().collect(Collectors.toMap(MonitorInfo::getMonitorCode, e -> e, (o, n) -> {
//                        MonitorDataBase monitorDataBase = monitorDataBaseMap.get(o.getMonitorCode());
//                        LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                        setMonitor(monitors, o, monitorDataBase, collectTime);
//                        setMonitor(monitors, n, monitorDataBase, collectTime);
//                        return null;
//                    }));
//                    for (MonitorDataBase monitorDataBase : monitorDataBases) {
//                        MonitorInfo monitorInfo = monitorInfoMap.get(monitorDataBase.getC());
//                        if (monitorInfo != null) {
//                            LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                            if (collectTime == null) {
//                                continue;
//                            }
//                            setMonitor(monitors, monitorInfo, monitorDataBase, collectTime);
//                        } else {
//                            log.error("未通过 code ：{} 获取到监测点信息,请检查设备监测点配置信息!", monitorDataBase.getC());
//                        }
//                    }
//
//                    //监测数据入库
//                    saveMonitorData(monitors);
//
//                    //设置监测点缓存最新数据
//                    applicationEventPublisher.publishEvent(new MonitorCacheEvent(this, monitors));
//
//                    //规则判断
//
//
//                }
//
//            } else {
//                log.error("topic {} 数据为空：{}", Constants.BC_HOT2_BC2MES_TOPIC, message);
//            }
//        } catch (Exception e) {
//            log.error("处理失败:{} ex:{}", message, e.getMessage());
//        }
//    }
//
//    /**
//     * @Description: 热端二号线数据处理
//     * @version v1.0
//     * @author songJinKang
//     * @date 2024-01-18 11:02
//     */
//    private void bcHot2Bc2MesMessageProcess(MessageExt messageExt) {
//        String message = null;
//        try {
//            message = GzipUtil.decodeBase64ZippedString(new String(messageExt.getBody()));
//            log.error("topic---> {} 收到消息：  {}", messageExt.getTopic(), message);
//            if (StringUtils.isNotBlank(message)) {
//                //数据解析
//                List<MonitorDataBase> monitorDataBases = JSON.parseArray(message, MonitorDataBase.class);
//                Map<String, MonitorDataBase> monitorDataBaseMap = monitorDataBases.stream().collect(Collectors.toMap(MonitorDataBase::getC, e -> e, (o, n) -> n));
//
//                //过滤
//                monitorDataBases = monitorDataBases.stream().filter(e -> {
//                    if (StringUtils.isBlank(e.getV()) || e.getC().contains("time")) {
//                        return false;
//                    }
//                    try {
//                        Double.parseDouble(e.getV());
//                        return true;
//                    } catch (Exception exception) {
//                        log.error("当前数据不为监测数据：{} ------ {}", e.toString(), exception.getMessage());
//                        return false;
//                    }
//                }).collect(Collectors.toList());
//
//                //根据code获取监测点设备信息
//                List<String> codes = monitorDataBases.stream().map(MonitorDataBase::getC).collect(Collectors.toList());
//
//                List<MonitorInfo> monitorInfos = monitorPointService.getMonitorInfoByMonitorCode(codes);
//
//                if (CollectionUtils.isNotEmpty(monitorInfos)) {
//                    //设置基础属性信息
//                    List<Monitor> monitors = new ArrayList<>();
//                    Map<String, MonitorInfo> monitorInfoMap = monitorInfos.stream().collect(Collectors.toMap(MonitorInfo::getMonitorCode, e -> e, (o, n) -> {
//                        MonitorDataBase monitorDataBase = monitorDataBaseMap.get(o.getMonitorCode());
//                        LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                        setMonitor(monitors, o, monitorDataBase, collectTime);
//                        setMonitor(monitors, n, monitorDataBase, collectTime);
//                        return null;
//                    }));
//                    for (MonitorDataBase monitorDataBase : monitorDataBases) {
//                        MonitorInfo monitorInfo = monitorInfoMap.get(monitorDataBase.getC());
//                        if (monitorInfo != null) {
//                            LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                            if (collectTime == null) {
//                                continue;
//                            }
//                            setMonitor(monitors, monitorInfo, monitorDataBase, collectTime);
//                        } else {
//                            log.error("未通过 code ：{} 获取到监测点信息,请检查设备监测点配置信息!", monitorDataBase.getC());
//                        }
//                    }
//
//                    //监测数据入库
//                    saveMonitorData(monitors);
//
//                    //设置监测点缓存最新数据
//                    applicationEventPublisher.publishEvent(new MonitorCacheEvent(this, monitors));
//
//                    //规则判断
//
//
//                }
//
//            } else {
//                log.error("topic {} 数据为空：{}", Constants.BC_HOT2_BC2MES_TOPIC, message);
//            }
//        } catch (Exception e) {
//            log.error("处理失败:{} ex:{}", message, e.getMessage());
//        }
//    }
//
//    /**
//     * @Description: 冷端一号线数据处理
//     * @version v1.0
//     * @author songJinKang
//     * @date 2024-01-18 11:02
//     */
//    private void bcCold1Bc2MesMessageProcess(MessageExt messageExt) {
//        String message = null;
//        try {
//            message = GzipUtil.decodeBase64ZippedString(new String(messageExt.getBody()));
//            log.error("topic---> {} 收到消息：  {}", messageExt.getTopic(), message);
//            if (StringUtils.isNotBlank(message)) {
//                //数据解析
//                List<MonitorDataBase> monitorDataBases = JSON.parseArray(message, MonitorDataBase.class);
//                Map<String, MonitorDataBase> monitorDataBaseMap = monitorDataBases.stream().collect(Collectors.toMap(MonitorDataBase::getC, e -> e, (o, n) -> n));
//
//                //过滤
//                monitorDataBases = monitorDataBases.stream().filter(e -> {
//                    if (StringUtils.isBlank(e.getV()) || e.getC().contains("time")) {
//                        return false;
//                    }
//                    try {
//                        Double.parseDouble(e.getV());
//                        return true;
//                    } catch (Exception exception) {
//                        log.error("当前数据不为监测数据：{} ------ {}", e.toString(), exception.getMessage());
//                        return false;
//                    }
//                }).collect(Collectors.toList());
//
//                //根据code获取监测点设备信息
//                List<String> codes = monitorDataBases.stream().map(MonitorDataBase::getC).collect(Collectors.toList());
//
//                List<MonitorInfo> monitorInfos = monitorPointService.getMonitorInfoByMonitorCode(codes);
//
//                if (CollectionUtils.isNotEmpty(monitorInfos)) {
//                    //设置基础属性信息
//                    List<Monitor> monitors = new ArrayList<>();
//                    Map<String, MonitorInfo> monitorInfoMap = monitorInfos.stream().collect(Collectors.toMap(MonitorInfo::getMonitorCode, e -> e, (o, n) -> {
//                        MonitorDataBase monitorDataBase = monitorDataBaseMap.get(o.getMonitorCode());
//                        LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                        setMonitor(monitors, o, monitorDataBase, collectTime);
//                        setMonitor(monitors, n, monitorDataBase, collectTime);
//                        return null;
//                    }));
//                    for (MonitorDataBase monitorDataBase : monitorDataBases) {
//                        MonitorInfo monitorInfo = monitorInfoMap.get(monitorDataBase.getC());
//                        if (monitorInfo != null) {
//                            LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                            if (collectTime == null) {
//                                continue;
//                            }
//                            setMonitor(monitors, monitorInfo, monitorDataBase, collectTime);
//                        } else {
//                            log.error("未通过 code ：{} 获取到监测点信息,请检查设备监测点配置信息!", monitorDataBase.getC());
//                        }
//                    }
//
//                    //监测数据入库
//                    saveMonitorData(monitors);
//
//                    //设置监测点缓存最新数据
//                    applicationEventPublisher.publishEvent(new MonitorCacheEvent(this, monitors));
//
//                    //规则判断
//
//
//                }
//
//            } else {
//                log.error("topic {} 数据为空：{}", Constants.BC_HOT2_BC2MES_TOPIC, message);
//            }
//        } catch (Exception e) {
//            log.error("处理失败:{} ex:{}", message, e.getMessage());
//        }
//    }
//
//
//    /**
//     * @Description: DCS新增数据处理
//     * @version v1.0
//     * @author songJinKang
//     * @date 2024-01-18 11:02
//     */
//    private void xzMessageProcess(MessageExt messageExt) {
//        String message = null;
//        try {
//            message = GzipUtil.decodeBase64ZippedString(new String(messageExt.getBody()));
//            log.error("topic---> {} 收到消息：  {}", messageExt.getTopic(), message);
//            if (StringUtils.isNotBlank(message)) {
//                //数据解析
//                List<MonitorDataBase> monitorDataBases = JSON.parseArray(message, MonitorDataBase.class);
//                Map<String, MonitorDataBase> monitorDataBaseMap = monitorDataBases.stream().collect(Collectors.toMap(MonitorDataBase::getC, e -> e, (o, n) -> n));
//
//                //过滤
//                //过滤
//                monitorDataBases = monitorDataBases.stream().filter(e -> {
//                    if (StringUtils.isBlank(e.getV()) || e.getC().contains("time")) {
//                        return false;
//                    }
//                    try {
//                        Double.parseDouble(e.getV());
//                        return true;
//                    } catch (Exception exception) {
//                        log.error("当前数据不为监测数据：{} ------ {}", e.toString(), exception.getMessage());
//                        return false;
//                    }
//                }).collect(Collectors.toList());
//
//                //根据code获取监测点设备信息
//                List<String> codes = monitorDataBases.stream().map(MonitorDataBase::getC).collect(Collectors.toList());
//
//                List<MonitorInfo> monitorInfos = monitorPointService.getMonitorInfoByMonitorCode(codes);
//
//                if (CollectionUtils.isNotEmpty(monitorInfos)) {
//                    //设置基础属性信息
//                    List<Monitor> monitors = new ArrayList<>();
//                    Map<String, MonitorInfo> monitorInfoMap = monitorInfos.stream().collect(Collectors.toMap(MonitorInfo::getMonitorCode, e -> e, (o, n) -> {
//                        MonitorDataBase monitorDataBase = monitorDataBaseMap.get(o.getMonitorCode());
//                        LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                        setMonitor(monitors, o, monitorDataBase, collectTime);
//                        setMonitor(monitors, n, monitorDataBase, collectTime);
//                        return null;
//                    }));
//                    for (MonitorDataBase monitorDataBase : monitorDataBases) {
//                        MonitorInfo monitorInfo = monitorInfoMap.get(monitorDataBase.getC());
//                        if (monitorInfo != null) {
//                            LocalDateTime collectTime = DateUtils.convertTimestamp(monitorDataBase.getT());
//                            if (collectTime == null) {
//                                continue;
//                            }
//                            setMonitor(monitors, monitorInfo, monitorDataBase, collectTime);
//                        } else {
//                            log.error("未通过 code ：{} 获取到监测点信息,请检查设备监测点配置信息!", monitorDataBase.getC());
//                        }
//                    }
//
//                    //监测数据入库
//                    saveMonitorData(monitors);
//
//                    //设置监测点缓存最新数据
//                    applicationEventPublisher.publishEvent(new MonitorCacheEvent(this, monitors));
//
//                    //规则判断
//
//
//                }
//
//            } else {
//                log.error("topic {} 数据为空：{}", Constants.BC_HOT2_BC2MES_TOPIC, message);
//            }
//        } catch (Exception e) {
//            log.error("处理失败:{} ex:{}", message, e.getMessage());
//        }
//    }
//
//
//    private void saveMonitorData(List<Monitor> monitors) {
//        if (CollectionUtils.isNotEmpty(monitors)) {
//            List<MonitorData> monitorDataList = new ArrayList<>();
//            for (Monitor monitor : monitors) {
//                MonitorData monitorData = new MonitorData();
//                monitorData.setMonitorId(monitor.getMonitorId());
//                monitorData.setDeviceId(monitor.getDeviceId());
//                monitorData.setCollectTime(monitor.getCollectTime());
//                monitorData.setValue(monitor.getValue());
//                monitorDataList.add(monitorData);
//            }
//            monitorDataService.saveBatch(monitorDataList);
//        }
//    }
//
//    private void setMonitor(List<Monitor> monitors, MonitorInfo o, MonitorDataBase monitorDataBase, LocalDateTime collectTime) {
//        Monitor oMonitor = new Monitor();
//        oMonitor.setMonitorId(o.getMonitorId());
//        oMonitor.setMonitorCode(o.getMonitorCode());
//        oMonitor.setMonitorName(o.getMonitorName());
//        oMonitor.setDeviceId(o.getDeviceId());
//        oMonitor.setDeviceName(o.getDeviceName());
//        oMonitor.setWorkshopId(o.getWorkshopId());
//        oMonitor.setWorkshopName(o.getWorkshopName());
//        oMonitor.setProductLineId(o.getProductLineId());
//        oMonitor.setProductLineName(o.getProductLineName());
//        oMonitor.setAreaId(o.getAreaId());
//        oMonitor.setAreaName(o.getAreaName());
//        oMonitor.setUnit(o.getUnit());
//        oMonitor.setValue(Double.valueOf(monitorDataBase.getV()));
//        oMonitor.setCollectTime(collectTime);
//        monitors.add(oMonitor);
//    }
//
//}